/**
 * 多语言i18n配置入口
 * 
 */

import { createI18n } from 'vue-i18n';
import en from './locales/en/index.js';//引入英文语言文件
import zhCN from './locales/zh-CN/index.js';//引入中文语言文件
import { setupFormatters } from './formatters.js'; //引入格式化器

const messages = { //初始化加载默认语言
   en,
  'zh-CN': zhCN,
};

// 获取浏览器默认语言
const getDefaultLocale = () => {
    // 优先使用用户保存的偏好
    const savedLocale = localStorage.getItem('user-locale');
    if (savedLocale && messages[savedLocale]) {
      return savedLocale;
    }
    // 如果用户没有保存偏好，则使用浏览器语言
  const navigatorLocale = navigator.language || navigator.userLanguage;
  console.log('浏览器使用的语言',messages[navigatorLocale] ? navigatorLocale : 'en')
  return messages[navigatorLocale] ? navigatorLocale : 'en'; //如果获取不到浏览器语言，则使用en
};

const i18n = createI18n({
  legacy: false, // Vue 3 必须设为 false
  locale: getDefaultLocale(), // 默认语言
  fallbackLocale: 'en', // 回退语言：定义了当找不到当前语言的翻译文本时，应该使用哪个语言作为后备选项
  messages,//语言包
  
});

setupFormatters(i18n); //设置格式化器

export default i18n;